Skip to main content

QQL 5.5 Breaking Changes

caution

In this section we describe the breaking changes introduced with QQL 5.5 version.

QQL Constants

  • Float constants: the default type changed from Float64 to Decimal64. Use f postfix to set Float64 constants.
  • Integer constants: the default type changed from Int64 to Int32. Use L postfix to set Int64 constants.
info

Refer to Constants section for reference.

Arithmetic Operations

New table of operations results: consider type(a) in the first column and type(b) in the first row. type(a.b) in every cell, where . is some operation.

Int8Int16Int32Int64Decimal64Float32Float64
Int8Int32Int32Int32Int64Decimal64Float32Float64
Int16Int32Int32Int32Int64Decimal64Float32Float64
Int32Int32Int32Int32Int64Decimal64Float32Float64
Int64Int64Int64Int64Int64Decimal64Float32Float64
Decimal64Decimal64Decimal64Decimal64Decimal64Decimal64Float32Float64
Float32Float32Float32Float32Float32Float32Float32Float64
Float64Float64Float64Float64Float64Float64Float64Float64
info

Refer to Data Types section for reference.

Comparison Operations

  • Removed = equality check operation is replaced by ==.
  • Added === - strict equality check, that checks if types and values of operands are equal.
# QQL 5.4 
select * from securities where symbol = 'AAPL'

# QQL 5.5
select * from securities where symbol == 'AAPL'
info

Refer to Operations section for reference.

Functions

Two types of functions have been introduced:

  1. Stateless functions. Syntax: function_name(arg1, arg2, ...). Examples:
sum([1,2,3,4,5])
avg(entries.price)
size(entries)
max(open, close)
min(entries.price)
  1. Stateful functions. Syntax: function_name{name1: narg1, name2: narg2, ...}(arg1, arg2, ...) or function_name{narg1, narg2, ...}(arg1, arg2, ...). Examples:
count{}()
last{}(entries)
first{}(entries)
max{}(price)
sma{timePeriod: 20s}(price)
sma{period: 100}(price)
# QQL 5.4  
select COUNT() from securities

# QQL 5.5
select COUNT{}() from securities
info

Refer to Functions section for reference.

Types and Field References

  1. Type name should be quoted when full reference is used: type:field
# QQL 5.4 
select deltix.orders.OrderEvent:order from orders

# QQL 5.5
select "deltix.orders.OrderEvent":order from orders
  1. When selecting system fields:
# QQL 5.4 
select insrumentType from orders

# QQL 5.5
select type from orders